# Check for the simplification of .rodata loads.

RUN: %clang %cflags %p/Inputs/rodata_simpl_loads.s -o %t.exe
RUN: llvm-bolt %t.exe -o %t --simplify-rodata-loads
RUN: FileCheck %s --check-prefix=ORIGINAL --input-file %p/Inputs/rodata_simpl_loads.s
RUN: llvm-objdump -d %t --print-imm-hex --disassemble-symbols=main | FileCheck %s

CHECK:   Disassembly of section .text:
CHECK:   <main>:
# check that the following rip-relative operands have been
# replaced with immediates

ORIGINAL: movzbl  s1(%rip), %eax
CHECK:    movl    $0x41, %eax

ORIGINAL: cmpb    s2(%rip), %al
CHECK:    cmpb    $0x41, %al

ORIGINAL: movzbl  s1+1(%rip), %eax
CHECK:    movl    $0x42, %eax

ORIGINAL: cmpb    s2+1(%rip), %al
CHECK:    cmpb    $0x42, %al

ORIGINAL: movzbl  s1+2(%rip), %eax
CHECK:    movl    $0x43, %eax

ORIGINAL: cmpb    s2+2(%rip), %al
CHECK:    cmpb    $0x43, %al

ORIGINAL: movzbl  s1+3(%rip), %eax
CHECK:    movl    $0x0, %eax

ORIGINAL: cmpb    s2+3(%rip), %al
CHECK:    cmpb    $0x0, %al

ORIGINAL: movl    I1(%rip), %eax
CHECK:    movl    $0x6, %eax

ORIGINAL: addl    I2(%rip), %eax
CHECK:    addl    $0x43, %eax

ORIGINAL: movl    I2(%rip), %eax
CHECK:    movl    $0x43, %eax
